# Copyright 2013-2015 the openage authors. See copying.md for legal info.

"""
Translates the numeric language codes, as used in PE file resources, to their
string equivalent.
"""

LANGCODES = {
    1: 'ar',
    2: 'bg',
    3: 'ca',
    4: 'zh_Hans',
    5: 'cs',
    6: 'da',
    7: 'de',
    8: 'el',
    9: 'en',
    10: 'es',
    11: 'fi',
    12: 'fr',
    13: 'he',
    14: 'hu',
    15: 'is',
    16: 'it',
    17: 'ja',
    18: 'ko',
    19: 'nl',
    20: 'no',
    21: 'pl',
    22: 'pt',
    23: 'rm',
    24: 'ro',
    25: 'ru',
    26: 'bs',
    27: 'sk',
    28: 'sq',
    29: 'sv',
    30: 'th',
    31: 'tr',
    32: 'ur',
    33: 'id',
    34: 'uk',
    35: 'be',
    36: 'sl',
    37: 'et',
    38: 'lv',
    39: 'lt',
    40: 'tg',
    41: 'fa',
    42: 'vi',
    43: 'hy',
    44: 'az',
    45: 'eu',
    46: 'dsb',
    47: 'mk',
    48: 'st',
    49: 'ts',
    50: 'tn',
    51: 've',
    52: 'xh',
    53: 'zu',
    54: 'af',
    55: 'ka',
    56: 'fo',
    57: 'hi',
    58: 'mt',
    59: 'se',
    60: 'ga',
    61: 'yi',
    62: 'ms',
    63: 'kk',
    64: 'ky',
    65: 'sw',
    66: 'tk',
    67: 'uz',
    68: 'tt',
    69: 'bn',
    70: 'pa',
    71: 'gu',
    72: 'or',
    73: 'ta',
    74: 'te',
    75: 'kn',
    76: 'ml',
    77: 'as',
    78: 'mr',
    79: 'sa',
    80: 'mn',
    81: 'bo',
    82: 'cy',
    83: 'km',
    84: 'lo',
    85: 'my',
    86: 'gl',
    87: 'kok',
    88: 'mni',
    89: 'sd',
    90: 'syr',
    91: 'si',
    92: 'chr',
    93: 'iu',
    94: 'am',
    95: 'tzm',
    96: 'ks',
    97: 'ne',
    98: 'fy',
    99: 'ps',
    100: 'fil',
    101: 'dv',
    102: 'bin',
    103: 'ff',
    104: 'ha',
    105: 'ibb',
    106: 'yo',
    107: 'quz',
    108: 'nso',
    109: 'ba',
    110: 'lb',
    111: 'kl',
    112: 'ig',
    113: 'kr',
    114: 'om',
    115: 'ti',
    116: 'gn',
    117: 'haw',
    118: 'la',
    119: 'so',
    120: 'ii',
    121: 'pap',
    122: 'arn',
    124: 'moh',
    126: 'br',
    128: 'ug',
    129: 'mi',
    130: 'oc',
    131: 'co',
    132: 'gsw',
    133: 'sah',
    134: 'qut',
    135: 'rw',
    136: 'wo',
    140: 'prs',
    145: 'gd',
    146: 'ku',
    1025: 'ar_SA',
    1026: 'bg_BG',
    1027: 'ca_ES',
    1028: 'zh_TW',
    1029: 'cs_CZ',
    1030: 'da_DK',
    1031: 'de_DE',
    1032: 'el_GR',
    1033: 'en_US',
    1034: 'es_ES_tradnl',
    1035: 'fi_FI',
    1036: 'fr_FR',
    1037: 'he_IL',
    1038: 'hu_HU',
    1039: 'is_IS',
    1040: 'it_IT',
    1041: 'ja_JP',
    1042: 'ko_KR',
    1043: 'nl_NL',
    1044: 'nb_NO',
    1045: 'pl_PL',
    1046: 'pt_BR',
    1047: 'rm_CH',
    1048: 'ro_RO',
    1049: 'ru_RU',
    1050: 'hr_HR',
    1051: 'sk_SK',
    1052: 'sq_AL',
    1053: 'sv_SE',
    1054: 'th_TH',
    1055: 'tr_TR',
    1056: 'ur_PK',
    1057: 'id_ID',
    1058: 'uk_UA',
    1059: 'be_BY',
    1060: 'sl_SI',
    1061: 'et_EE',
    1062: 'lv_LV',
    1063: 'lt_LT',
    1064: 'tg_Cyrl_TJ',
    1065: 'fa_IR',
    1066: 'vi_VN',
    1067: 'hy_AM',
    1068: 'az_Latn_AZ',
    1069: 'eu_ES',
    1070: 'hsb_DE',
    1071: 'mk_MK',
    1072: 'st_ZA',
    1073: 'ts_ZA',
    1074: 'tn_ZA',
    1075: 've_ZA',
    1076: 'xh_ZA',
    1077: 'zu_ZA',
    1078: 'af_ZA',
    1079: 'ka_GE',
    1080: 'fo_FO',
    1081: 'hi_IN',
    1082: 'mt_MT',
    1083: 'se_NO',
    1085: 'yi_Hebr',
    1086: 'ms_MY',
    1087: 'kk_KZ',
    1088: 'ky_KG',
    1089: 'sw_KE',
    1090: 'tk_TM',
    1091: 'uz_Latn_UZ',
    1092: 'tt_RU',
    1093: 'bn_IN',
    1094: 'pa_IN',
    1095: 'gu_IN',
    1096: 'or_IN',
    1097: 'ta_IN',
    1098: 'te_IN',
    1099: 'kn_IN',
    1100: 'ml_IN',
    1101: 'as_IN',
    1102: 'mr_IN',
    1103: 'sa_IN',
    1104: 'mn_MN',
    1105: 'bo_CN',
    1106: 'cy_GB',
    1107: 'km_KH',
    1108: 'lo_LA',
    1109: 'my_MM',
    1110: 'gl_ES',
    1111: 'kok_IN',
    1112: 'mni_IN',
    1113: 'sd_Deva_IN',
    1114: 'syr_SY',
    1115: 'si_LK',
    1116: 'chr_Cher_US',
    1117: 'iu_Cans_CA',
    1118: 'am_ET',
    1119: 'tzm_Arab_MA',
    1120: 'ks_Arab',
    1121: 'ne_NP',
    1122: 'fy_NL',
    1123: 'ps_AF',
    1124: 'fil_PH',
    1125: 'dv_MV',
    1126: 'bin_NG',
    1127: 'fuv_NG',
    1128: 'ha_Latn_NG',
    1129: 'ibb_NG',
    1130: 'yo_NG',
    1131: 'quz_BO',
    1132: 'nso_ZA',
    1133: 'ba_RU',
    1134: 'lb_LU',
    1135: 'kl_GL',
    1136: 'ig_NG',
    1137: 'kr_NG',
    1138: 'om_ET',
    1139: 'ti_ET',
    1140: 'gn_PY',
    1141: 'haw_US',
    1142: 'la_Latn',
    1143: 'so_SO',
    1144: 'ii_CN',
    1145: 'pap_029',
    1146: 'arn_CL',
    1148: 'moh_CA',
    1150: 'br_FR',
    1152: 'ug_CN',
    1153: 'mi_NZ',
    1154: 'oc_FR',
    1155: 'co_FR',
    1156: 'gsw_FR',
    1157: 'sah_RU',
    1158: 'qut_GT',
    1159: 'rw_RW',
    1160: 'wo_SN',
    1164: 'prs_AF',
    1165: 'plt_MG',
    1166: 'zh_yue_HK',
    1167: 'tdd_Tale_CN',
    1168: 'khb_Talu_CN',
    1169: 'gd_GB',
    1170: 'ku_Arab_IQ',
    1171: 'quc_CO',
    1281: 'qps_ploc',
    1534: 'qps_ploca',
    2049: 'ar_IQ',
    2051: 'ca_ES_valencia',
    2052: 'zh_CN',
    2055: 'de_CH',
    2057: 'en_GB',
    2058: 'es_MX',
    2060: 'fr_BE',
    2064: 'it_CH',
    2065: 'ja_Ploc_JP',
    2067: 'nl_BE',
    2068: 'nn_NO',
    2070: 'pt_PT',
    2072: 'ro_MD',
    2073: 'ru_MD',
    2074: 'sr_Latn_CS',
    2077: 'sv_FI',
    2080: 'ur_IN',
    2092: 'az_Cyrl_AZ',
    2094: 'dsb_DE',
    2098: 'tn_BW',
    2107: 'se_SE',
    2108: 'ga_IE',
    2110: 'ms_BN',
    2115: 'uz_Cyrl_UZ',
    2117: 'bn_BD',
    2118: 'pa_Arab_PK',
    2121: 'ta_LK',
    2128: 'mn_Mong_CN',
    2129: 'bo_BT',
    2137: 'sd_Arab_PK',
    2141: 'iu_Latn_CA',
    2143: 'tzm_Latn_DZ',
    2144: 'ks_Deva',
    2145: 'ne_IN',
    2151: 'ff_Latn_SN',
    2155: 'quz_EC',
    2163: 'ti_ER',
    2559: 'qps_plocm',
    3073: 'ar_EG',
    3076: 'zh_HK',
    3079: 'de_AT',
    3081: 'en_AU',
    3082: 'es_ES',
    3084: 'fr_CA',
    3098: 'sr_Cyrl_CS',
    3131: 'se_FI',
    3152: 'mn_Mong_MN',
    3167: 'tmz_MA',
    3179: 'quz_PE',
    4097: 'ar_LY',
    4100: 'zh_SG',
    4103: 'de_LU',
    4105: 'en_CA',
    4106: 'es_GT',
    4108: 'fr_CH',
    4122: 'hr_BA',
    4155: 'smj_NO',
    4191: 'tzm_Tfng_MA',
    5121: 'ar_DZ',
    5124: 'zh_MO',
    5127: 'de_LI',
    5129: 'en_NZ',
    5130: 'es_CR',
    5132: 'fr_LU',
    5146: 'bs_Latn_BA',
    5179: 'smj_SE',
    6145: 'ar_MA',
    6153: 'en_IE',
    6154: 'es_PA',
    6156: 'fr_MC',
    6170: 'sr_Latn_BA',
    6203: 'sma_NO',
    7169: 'ar_TN',
    7177: 'en_ZA',
    7178: 'es_DO',
    7194: 'sr_Cyrl_BA',
    7227: 'sma_SE',
    8193: 'ar_OM',
    8201: 'en_JM',
    8202: 'es_VE',
    8204: 'fr_RE',
    8218: 'bs_Cyrl_BA',
    8251: 'sms_FI',
    9217: 'ar_YE',
    9225: 'en_029',
    9226: 'es_CO',
    9228: 'fr_CD',
    9242: 'sr_Latn_RS',
    9275: 'smn_FI',
    10241: 'ar_SY',
    10249: 'en_BZ',
    10250: 'es_PE',
    10252: 'fr_SN',
    10266: 'sr_Cyrl_RS',
    11265: 'ar_JO',
    11273: 'en_TT',
    11274: 'es_AR',
    11276: 'fr_CM',
    11290: 'sr_Latn_ME',
    12289: 'ar_LB',
    12297: 'en_ZW',
    12298: 'es_EC',
    12300: 'fr_CI',
    12314: 'sr_Cyrl_ME',
    13313: 'ar_KW',
    13321: 'en_PH',
    13322: 'es_CL',
    13324: 'fr_ML',
    14337: 'ar_AE',
    14345: 'en_ID',
    14346: 'es_UY',
    14348: 'fr_MA',
    15361: 'ar_BH',
    15369: 'en_HK',
    15370: 'es_PY',
    15372: 'fr_HT',
    16385: 'ar_QA',
    16393: 'en_IN',
    16394: 'es_BO',
    17409: 'ar_Ploc_SA',
    17417: 'en_MY',
    17418: 'es_SV',
    18433: 'ar_145',
    18441: 'en_SG',
    18442: 'es_HN',
    19465: 'en_AE',
    19466: 'es_NI',
    20489: 'en_BH',
    20490: 'es_PR',
    21513: 'en_EG',
    21514: 'es_US',
    22537: 'en_JO',
    22538: 'es_419',
    23561: 'en_KW',
    24585: 'en_TR',
    25609: 'en_YE',
    25626: 'bs_Cyrl',
    26650: 'bs_Latn',
    27674: 'sr_Cyrl',
    28698: 'sr_Latn',
    28731: 'smn',
    29740: 'az_Cyrl',
    29755: 'sms',
    30724: 'zh',
    30740: 'nn',
    30746: 'bs',
    30764: 'az_Latn',
    30779: 'sma',
    30787: 'uz_Cyrl',
    30800: 'mn_Cyrl',
    30813: 'iu_Cans',
    30815: 'tzm_Tfng',
    31748: 'zh_Hant',
    31764: 'nb',
    31770: 'sr',
    31784: 'tg_Cyrl',
    31790: 'dsb',
    31803: 'smj',
    31811: 'uz_Latn',
    31814: 'pa_Arab',
    31824: 'mn_Mong',
    31833: 'sd_Arab',
    31836: 'chr_Cher',
    31837: 'iu_Latn',
    31839: 'tzm_Latn',
    31847: 'ff_Latn',
    31848: 'ha_Latn',
    31890: 'ku_Arab',
    65663: 'x_IV_mathan',
    66567: 'de_DE_phoneb',
    66574: 'hu_HU_tchncl',
    66615: 'ka_GE_modern',
    133124: 'zh_CN_stroke',
    135172: 'zh_SG_stroke',
    136196: 'zh_MO_stroke',
    197636: 'zh_TW_pronun',
    263172: 'zh_TW_radstr',
    263185: 'ja_JP_radstr',
    265220: 'zh_HK_radstr',
    267268: 'zh_MO_radstr'}
